
#include <array>
#include <cassert>
#include <iostream>
#include <vector>
using namespace std;

class bound {
  static int dum[4][2];
};
int bound::dum[4][2]{};

class A {
  int a;
  int &c;

public:
  A(int b, int &d) : a{b}, c{d} { ++c; }
};

class B {
  // 仅仅是声明？
  A a;

public:
  B(int b, int &d) : a(b, d) {}
};

int main() {
  int a{3};
  B b(2, a);
  cout << a << endl;
  // b(3, a);
  cout << sizeof(array<double, 5>) << endl;

  vector<int> v = vector<int>{2};
  cout << v.size() << "  " << v[0] << endl;

  int i1, i2, i3;
  i1 = 2, i2 = 3, i3 = 10;
  cout << i1 << i2 << i3 << endl;
  return 0;
}